#pragma once
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void swap(int* a, int* b);
int PartSort(int* a, int left, int right);
void QuikeSort(int* a, int left, int right);
void SelctSort(int* a, int left, int right);
void QuikeSort2(int* a, int left, int right);
int GetMidIndex(int* a, int left, int right);
void QuikeSort3(int* a, int left, int right);
int PartSort2(int* a, int left, int right);
int PartSort4(int* a, int left, int right);
void QuikeSort4(int* a, int left, int right);
void InsertSort(int* a, int size);
void QuikeSort5(int* a, int left, int right);
void MergeSort(int* a, int begin, int end);
void _MergeSort(int* a, int begin, int end, int* temp);
void UnMergeSort(int* a, int begin, int end, int* temp); 
void CountSort(int* a, int size);
void ShellSort(int* a, int size);
void Adjustup(int* a, int end);
void  BubbleSort(int* a, int size);
void  AdjustDown(int* a, int root, int size);